package ar.republicagroup.gestion.dao.jpa;

import ar.republicagroup.gestion.dao.CuentaTipoDAO;
import ar.republicagroup.gestion.entities.CuentaTipo;
import ar.republicagroup.gestion.util.JComboBoxModel;
import ar.republicagroup.gestion.util.JPAUtil;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.swing.DefaultComboBoxModel;

public class CuentaTipoDAOImplJPA implements CuentaTipoDAO{
	
	private EntityManager em;
	
	
	public CuentaTipoDAOImplJPA() {
		em = JPAUtil.getEntityManager();
	}
	
	

	@Override
	public List<CuentaTipo> findEntities() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String insert(CuentaTipo beanCuentaTipo) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String update(CuentaTipo beanCuentaTipo) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public CuentaTipo get(Integer idcuentatipo) {
		return em.find(CuentaTipo.class, idcuentatipo);
	}

	@Override
	public String delete(Integer idcuentatipo) {
		// TODO Auto-generated method stub
		return null;
	}

	



	@Override
	public CuentaTipo findCuentaTipoByName(String cuentatipo_name) {
		Query query 			= em.createQuery("select c from CuentaTipo c WHERE c.tipo = ?1");
		query.setParameter(1, cuentatipo_name);
		CuentaTipo cuenta_tipo 	= (CuentaTipo)query.getSingleResult();
		return cuenta_tipo;
	}

    @Override
    public DefaultComboBoxModel combo() {
       Query query             = em.createQuery("select c from CuentaTipo c WHERE c.estado = 1",CuentaTipo.class);
        List<CuentaTipo> cuentaTipoList   = query.getResultList();
        DefaultComboBoxModel model = new DefaultComboBoxModel();
        for(CuentaTipo cuenta : cuentaTipoList){
            model.addElement(new JComboBoxModel(cuenta.getId().toString(), cuenta.getTipo()));
        }
        
        return model;
    }



}
